#pragma once
namespace catan
{
	struct FieldDirection 
	{
		enum Enum
		{
			Right = 0,
			Start = 0,
			DownRight,
			DownLeft,
			Left,
			UpLeft,
			UpRight,
			Num,
		};
		static FieldDirection::Enum Opposite(FieldDirection::Enum direction)
		{
			return FieldDirection::Enum((direction + FieldDirection::Num / 2) % FieldDirection::Num);
		}
	};

	struct BuildPointDirection 
	{
		enum Enum
		{
			UpRight = 0,
			Start = 0,
			DownRight,
			Down,
			DownLeft,
			UpLeft,
			Up,
			Num,
		};

		static BuildPointDirection::Enum Opposite(BuildPointDirection::Enum direction)
		{
			return BuildPointDirection::Enum((direction + BuildPointDirection::Num / 2) % BuildPointDirection::Num);
		}
	};
}